Load packages

require(dplyr)
require(zooper)
require(lubridate)
require(readr)
require(tidyr)
require(ggplot2)
require(sf)
require(readxl)
require(stringr)
require(mgcv)
require(purrr)
require(deltamapr)
require(scales)

Load and wrangle data

zoop_data<-Zoopsynther(Data_type="Community", Sources=c("EMP", "STN", "20mm", "FMWT"), Time_consistency = TRUE)
## [1] "These species have no relatives in their size class common to all datasets and have been removed from one or more size classes: Ostracoda Adult (Meso), Cumacea Adult (Meso), Annelida Adult (Meso), Gammarus Adult (Meso), Orientomysis aspera Adult (Meso), Chironomidae Larva (Meso), Insecta Larva (Meso)"

Read in zoop mass conversions

zoop_mass_conversions<-read_excel("Data/SMSCG salinity modeling/Biomass conversions.xlsx", sheet="Micro and Meso-zooplankton")%>%
  mutate(Taxname=case_when(Taxname=="Sinocalanus"~"Sinocalanus doerrii", # Change to help this match to zoop data
                           TRUE ~ Taxname),
         Taxlifestage=paste(Taxname, Lifestage))%>%
  select(Taxlifestage, CarbonWeight_ug)

Read in zoop groupings

zoop_groups<-read_csv("Data/zoopcrosswalk2.csv", col_types=cols_only(Taxlifestage="c", IBMR="c"))%>%
  distinct()

Load Mysid biomass data

zoop_mysid<-read_excel("Data/1972-2020MysidBPUEMatrix.xlsx", # EMP
                       sheet="Mysid_BPUE_matrix_1972-2020", na = "NA",
                       col_types = c(rep("numeric", 4), "date", "text", "text", rep("text", 7), rep("numeric", 8)))%>%
  select(Date=SampleDate, Station=StationNZ, BPUE=`Hyperacanthomysis longirostris`)%>% # Only select Hyperacanthomysis longirostris
  mutate(Source="EMP")%>%
  bind_rows(read_csv("Data/FMWT STN 2007to2019 Mysid BPUE.csv", # FMWT/STN
                     col_types=cols_only(Station="c", SampleDate="c", Project="c", `Hyperacanthomysis longirostris`="d"))%>% 
              rename(Date=SampleDate, Source=Project, BPUE=`Hyperacanthomysis longirostris`)%>% # Only select Hyperacanthomysis longirostris
              mutate(Date=mdy(Date),
                     Station=recode(Station, MONT="Mont", HONK="Honk")))%>% #Get station names to match to main dataset
  mutate(BPUE_mysid=BPUE*1000, # Convert to ug
         Taxlifestage="Hyperacanthomysis longirostris Adult",
         SampleID=paste(Source, Station, Date),
         SizeClass="Macro")%>%
  select(SampleID, Taxlifestage, SizeClass, BPUE_mysid)

Start processing the zoop data

zoop_data_mass<-zoop_data%>%
  mutate(Taxlifestage=str_remove(Taxlifestage, fixed("_UnID")))%>%
  filter(
    !(SizeClass=="Meso" & #eliminating species which are counted in meso and micro and retained better in the micro net from the meso calcs
        
        Taxlifestage%in%c("Asplanchna Adult", "Copepoda Larva","Cyclopoida Juvenile", "Eurytemora Larva", "Harpacticoida Undifferentiated",
                          "Keratella Adult", "Limnoithona Adult", "Limnoithona Juvenile", "Limnoithona sinenesis Adult", "Limnoithona tetraspina
                                    Adult", "Oithona Adult", "Oithona Juvenile", "Oithona davisae Adult", "Polyarthra Adult","Pseudodiaptomus Larva", 
                          "Rotifera Adult", "Sinocalanus doerrii Larva", "Synchaeta Adult", "Synchaeta bicornis Adult", "Trichocerca Adult")) &
      
      !(SizeClass=="Micro" &Taxlifestage%in%c("Cirripedia Larva", "Cyclopoida Adult", "Oithona similis")) & #removing categories better retained in meso net from micro net matrix
      Order!="Amphipoda" & # Remove amphipods
      (Order!="Mysida" | Taxlifestage=="Hyperacanthomysis longirostris Adult"))%>% #Only retain Hyperacanthomysis longirostris
  mutate(Taxlifestage=recode(Taxlifestage, `Synchaeta bicornis Adult`="Synchaeta Adult", # Change some names to match to biomass conversion dataset
                             `Pseudodiaptomus Adult`="Pseudodiaptomus forbesi Adult",
                             `Acanthocyclops vernalis Adult`="Acanthocyclops Adult"))%>%
  left_join(zoop_mass_conversions, by="Taxlifestage")%>% # Add biomass conversions
  left_join(zoop_mysid, by=c("SampleID", "Taxlifestage", "SizeClass"))%>% # Add mysid biomass
  left_join(zoop_groups, by="Taxlifestage")%>% # Add IBMR categories
  mutate(BPUE=if_else(Taxlifestage=="Hyperacanthomysis longirostris Adult", BPUE_mysid, CPUE*CarbonWeight_ug))%>% # Create 1 BPUE variable
  filter(!is.na(BPUE) & !is.na(Latitude) & !is.na(Longitude) & !is.na(SalSurf))%>% # Removes any data without BPUE, which is currently restricted to Decapod Larvae, and H. longirostris from STN. Also removes 20mm and EMP EZ stations without coordinates
  group_by(IBMR)%>%
  mutate(flag=if_else(all(c("Micro", "Meso")%in%SizeClass), "Remove", "Keep"))%>% # This and the next 2 lines are meant to ensure that all categories are consistent across the surveys. Since only EMP samples microzoops, only EMP data can be used for categories that include both micro and mesozoops.
  ungroup()%>%
  filter(!(flag=="Remove" & Source!="EMP"))%>%
  select(SampleID, Station, Latitude, Longitude, SalSurf, Date, Year, IBMR, BPUE)%>%
  group_by(across(-BPUE))%>%
  summarise(BPUE=sum(BPUE), .groups="drop")%>% # Sum each IBMR categories
  st_as_sf(coords=c("Longitude", "Latitude"), crs=4326)%>%
  st_transform(crs=st_crs(deltamapr::R_DSIBM)) %>% 
  st_join(deltamapr::R_DSIBM %>%
            select(SUBREGION)) %>%
  st_drop_geometry() %>% 
  filter(SUBREGION %in% c("NW Suisun","SW Suisun","NE Suisun","SE Suisun","Confluence", "Suisun Marsh"))%>%
  mutate(doy=yday(Date), #Day of year
         Year_fac=factor(Year), # Factor year for model random effect
         Station_fac=factor(Station), # Factor station for model random effect
         across(c(SalSurf, doy), list(s=~(.x-mean(.x))/sd(.x))), # Center and standardize predictors
         BPUE_log1p=log(BPUE+1)) # log1p transform BPUE for model

Check sample size

zoop_sample_size <- zoop_data_mass %>% mutate(Month=month(Date)) %>%
  group_by(SampleID,Year,Month,SUBREGION,Station) %>% summarise(BPUE=sum(BPUE)) %>% mutate(Samplesize=1) %>%
  group_by(Year, Month, SUBREGION) %>% summarise(mean_BPUE=mean(BPUE),Samplesize=sum(Samplesize)) %>%
  filter(Year>=1995)

ggplot(zoop_sample_size, aes(x=Year, y=Month, fill=Samplesize))+
  geom_tile()+
  scale_y_continuous(breaks=1:12, labels=month(1:12, label=T))+
  scale_fill_viridis_c(breaks=c(1,5,10,15,20))+
  facet_wrap(~SUBREGION)+
  theme_bw()

All the remaining brackish regions have sufficient sample size with the exception of NE Suisun. As such, NE Suisun is to be combined with SE Suisun while the rest of the regions are to be analyzed on their own.

Create a new column with IBMR edited regions to accomodate combination of NE and SE Suisun regions.

zoop_data_mass$Subregion_edit<-ifelse(zoop_data_mass$SUBREGION=="NE Suisun"|zoop_data_mass$SUBREGION=="SE Suisun","East Suisun",zoop_data_mass$SUBREGION)

Model

Prediction data

Set up prediction data for model

# Min year to start models
year_min<-2000

newdata_function<-function(region, data=zoop_data_mass){
  
  data_filt<-data%>%
    filter(Subregion_edit%in%region & Year >= year_min)
  expand_grid(date=mdy(paste(1:12, 15, 2001, sep="/")), # The 15th of each month on a non-leap year
              SalSurf=seq(round(quantile(data_filt$SalSurf, 0.025), 1), 
                          round(quantile(data_filt$SalSurf, 0.975), 1), by=0.1))%>% # Salinity sequence nicely rounded to 1 decimal
    mutate(Month=month(date),
           doy=yday(date), # Day of year
           SalSurf_s=(SalSurf-mean(data$SalSurf))/sd(data$SalSurf), # center and standardize salinity to match data
           doy_s=(doy-mean(data$doy))/sd(data$doy))%>% # center and standardize doy to match data
    select(Month, doy, doy_s, SalSurf, SalSurf_s)
}

newdata<-map(set_names(unique(zoop_data_mass$Subregion_edit)), newdata_function)

Model fitting

model

sal_model<-function(group,region,new_data=newdata){
  
  cat("<<<<<<<<<<<<<<<<<<<<<<< modeling", group, region, ">>>>>>>>>>>>>>>>>>>>>>>>>\n\n")
  
  new_data<-new_data[[region]]
  
  data<-filter(zoop_data_mass, IBMR==group & Subregion_edit==region & Year>=year_min)
  
  par(mfrow=c(2,2))
  
  if(length(unique(data$Station_fac))>1){
  model<-gam(BPUE_log1p ~ te(SalSurf_s, doy_s, k=c(5,5), bs=c("cs", "cc")) + 
               s(Year_fac, bs="re") + s(Station_fac, bs="re"),
             data=data, 
             method="REML")
  
  random_effects<-c("s(Year_fac)", "s(Station_fac)")
    
  }else{
    
  model<-gam(BPUE_log1p ~ te(SalSurf_s, doy_s, k=c(5,5), bs=c("cs", "cc")) + 
               s(Year_fac, bs="re"),
             data=data, 
             method="REML")
  
  random_effects<-c("s(Year_fac)")
  }
  
  cat("-------------gam check-------------\n")
  gam.check(model)
  
  cat("\n\n-------------summary-------------\n")
  print(summary(model))
  
  sal<-predict(model, type="response", exclude=random_effects, newdata=new_data, se.fit=T, newdata.guaranteed=TRUE)%>%
    as_tibble()%>%
    mutate(across(everything(), as.vector))%>% # Make everything tidy
    rename(fit=starts_with("fit"), se=starts_with("se.fit"))%>%
    bind_cols(new_data%>% # Add covariate columns before these columns
                select(-doy_s, -SalSurf_s), 
              .)
  
  out<-list(model=model, sal=sal)
  return(out)
}

Apply model to all groups for the confluence region

model_factors<-expand_grid(IBMR=unique(zoop_data_mass$IBMR),
                           Subregion_edit=unique(zoop_data_mass$Subregion_edit))%>%
  mutate(IBMR=set_names(IBMR, paste(IBMR, Subregion_edit)))

sal_models<-pmap(model_factors, function(IBMR, Subregion_edit) sal_model(IBMR, Subregion_edit))
## <<<<<<<<<<<<<<<<<<<<<<< modeling acartela SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.0000008627989,0.0000007436512]
## (score 1364.484 & scale 2.255424).
## Hessian positive definite, eigenvalue range [1.577471,358.821].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                       k'  edf k-index p-value
## te(SalSurf_s,doy_s) 19.0 13.2    1.04    0.90
## s(Year_fac)         22.0 18.7      NA      NA
## s(Station_fac)       5.0  3.7      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   3.0231     0.7743   3.904 0.000104 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df        F             p-value    
## te(SalSurf_s,doy_s) 13.233     19 1291.567 <0.0000000000000002 ***
## s(Year_fac)         18.705     21    9.191 <0.0000000000000002 ***
## s(Station_fac)       3.702      4   13.250 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.559   Deviance explained = 58.1%
## -REML = 1364.5  Scale est. = 2.2554    n = 718
## <<<<<<<<<<<<<<<<<<<<<<< modeling acartela NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.00002037037,0.00001708752]
## (score 1670.069 & scale 2.085526).
## Hessian positive definite, eigenvalue range [1.239963,448.7965].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 15.41    0.95    0.02 *
## s(Year_fac)         22.00 19.81      NA      NA  
## s(Station_fac)       5.00  3.37      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   3.3517     0.3647    9.19 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 15.412     19 158.47 <0.0000000000000002 ***
## s(Year_fac)         19.810     21  17.81 <0.0000000000000002 ***
## s(Station_fac)       3.375      4  20.04 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.639   Deviance explained = 65.5%
## -REML = 1670.1  Scale est. = 2.0855    n = 898
## <<<<<<<<<<<<<<<<<<<<<<< modeling acartela East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.001994516,0.001678779]
## (score 3498.957 & scale 2.258205).
## Hessian positive definite, eigenvalue range [2.781527,932.1709].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 17.24    0.85 <0.0000000000000002 ***
## s(Year_fac)         22.00 20.44      NA                  NA    
## s(Station_fac)      10.00  7.61      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   4.6115     0.3222   14.31 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 17.239     19 614.45 <0.0000000000000002 ***
## s(Year_fac)         20.441     21  35.45 <0.0000000000000002 ***
## s(Station_fac)       7.614      9  11.41 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.687   Deviance explained = 69.5%
## -REML =   3499  Scale est. = 2.2582    n = 1865
## <<<<<<<<<<<<<<<<<<<<<<< modeling acartela Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.00009683616,0.00006015768]
## (score 3168.692 & scale 1.720377).
## Hessian positive definite, eigenvalue range [2.857675,909.1704].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 17.04     0.9 <0.0000000000000002 ***
## s(Year_fac)         22.00 20.27      NA                  NA    
## s(Station_fac)      10.00  7.51      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   4.5163     0.2327   19.41 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 17.042     19 2320.69 <0.0000000000000002 ***
## s(Year_fac)         20.273     21   28.93 <0.0000000000000002 ***
## s(Station_fac)       7.508      9   14.94 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.816   Deviance explained = 82.1%
## -REML = 3168.7  Scale est. = 1.7204    n = 1819
## <<<<<<<<<<<<<<<<<<<<<<< modeling acartela Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.000007833029,0.000006571361]
## (score 2510.554 & scale 1.57544).
## Hessian positive definite, eigenvalue range [1.409368,739.1935].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 15.81    0.95 <0.0000000000000002 ***
## s(Year_fac)         22.00 20.13      NA                  NA    
## s(Station_fac)       8.00  5.72      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   3.9305     0.2142   18.35 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 15.809     19 1184.92 <0.0000000000000002 ***
## s(Year_fac)         20.125     21   23.51 <0.0000000000000002 ***
## s(Station_fac)       5.722      7   10.18 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.805   Deviance explained =   81%
## -REML = 2510.6  Scale est. = 1.5754    n = 1479
## <<<<<<<<<<<<<<<<<<<<<<< modeling daphnia SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.0000002663927,0.000000004633036]
## (score 958.1717 & scale 1.2462).
## Hessian positive definite, eigenvalue range [0.03635816,301.7651].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                         k'    edf k-index p-value  
## te(SalSurf_s,doy_s) 19.000 12.707    0.91   0.015 *
## s(Year_fac)         22.000 15.287      NA      NA  
## s(Station_fac)       5.000  0.371      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)  0.84806    0.09513   8.915 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                         edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 12.7067     19 85.368 <0.0000000000000002 ***
## s(Year_fac)         15.2867     21  2.792 <0.0000000000000002 ***
## s(Station_fac)       0.3706      4  0.114               0.286    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.626   Deviance explained = 64.4%
## -REML = 958.17  Scale est. = 1.2462    n = 604
## <<<<<<<<<<<<<<<<<<<<<<< modeling daphnia NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.00004392139,0.000004321613]
## (score 978.2129 & scale 1.328516).
## Hessian positive definite, eigenvalue range [0.3812971,300.2901].
## Model rank =  45 / 45 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                       k'  edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.0 13.9    0.88 <0.0000000000000002 ***
## s(Year_fac)         22.0 15.6      NA                  NA    
## s(Station_fac)       3.0  1.3      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.2991     0.1252   10.38 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 13.917     19 144.096 <0.0000000000000002 ***
## s(Year_fac)         15.621     21   3.110 <0.0000000000000002 ***
## s(Station_fac)       1.301      2   1.751              0.0725 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.707   Deviance explained = 72.2%
## -REML = 978.21  Scale est. = 1.3285    n = 601
## <<<<<<<<<<<<<<<<<<<<<<< modeling daphnia East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.0009480629,0.0003177903]
## (score 2220.249 & scale 1.587928).
## Hessian positive definite, eigenvalue range [0.5264055,654.1937].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 15.94    0.86 <0.0000000000000002 ***
## s(Year_fac)         22.00 19.04      NA                  NA    
## s(Station_fac)       8.00  2.49      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.7823     0.1285   13.87 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 15.941     19 513.314 <0.0000000000000002 ***
## s(Year_fac)         19.038     21  10.614 <0.0000000000000002 ***
## s(Station_fac)       2.487      7   0.637               0.105    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.698   Deviance explained = 70.7%
## -REML = 2220.2  Scale est. = 1.5879    n = 1309
## <<<<<<<<<<<<<<<<<<<<<<< modeling daphnia Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 9 iterations.
## Gradient range [-0.00002608833,0.000008144597]
## (score 2635.918 & scale 2.406258).
## Hessian positive definite, eigenvalue range [0.9255191,692.1776].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 15.13    0.85 <0.0000000000000002 ***
## s(Year_fac)         22.00 19.01      NA                  NA    
## s(Station_fac)      10.00  3.26      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   2.3452     0.1533    15.3 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                       edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 15.13     19 284.94 <0.0000000000000002 ***
## s(Year_fac)         19.01     21  11.19 <0.0000000000000002 ***
## s(Station_fac)       3.26      9   0.84              0.0329 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.578   Deviance explained = 58.9%
## -REML = 2635.9  Scale est. = 2.4063    n = 1385
## <<<<<<<<<<<<<<<<<<<<<<< modeling daphnia Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.0002428841,0.00001931602]
## (score 1924.148 & scale 2.008222).
## Hessian positive definite, eigenvalue range [0.9076059,531.6783].
## Model rank =  48 / 48 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 12.93    0.94    0.02 *
## s(Year_fac)         22.00 16.76      NA      NA  
## s(Station_fac)       6.00  3.13      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.2671     0.1311   9.669 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 12.928     19 61.521 < 0.0000000000000002 ***
## s(Year_fac)         16.765     21  4.074 < 0.0000000000000002 ***
## s(Station_fac)       3.135      5  2.210              0.00706 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.488   Deviance explained = 50.4%
## -REML = 1924.1  Scale est. = 2.0082    n = 1064
## <<<<<<<<<<<<<<<<<<<<<<< modeling eurytem SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.0000231379,0.00001370843]
## (score 1189.543 & scale 2.549378).
## Hessian positive definite, eigenvalue range [1.413087,306.1333].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 12.17    0.95   0.045 *
## s(Year_fac)         22.00  8.54      NA      NA  
## s(Station_fac)       5.00  3.64      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)   3.2232     0.7276    4.43 0.0000113 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df        F              p-value    
## te(SalSurf_s,doy_s) 12.170     19 1604.185 < 0.0000000000000002 ***
## s(Year_fac)          8.537     21    0.717               0.0226 *  
## s(Station_fac)       3.644      4    8.956          0.000000556 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.638   Deviance explained = 65.2%
## -REML = 1189.5  Scale est. = 2.5494    n = 613
## <<<<<<<<<<<<<<<<<<<<<<< modeling eurytem NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.0007984461,0.002096556]
## (score 1223.296 & scale 2.272916).
## Hessian positive definite, eigenvalue range [0.009782449,321.7709].
## Model rank =  46 / 46 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                         k'    edf k-index p-value
## te(SalSurf_s,doy_s) 19.000 15.224    1.05    0.94
## s(Year_fac)         22.000 14.976      NA      NA
## s(Station_fac)       4.000  0.191      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   2.6258     0.1193   22.01 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                         edf Ref.df     F             p-value    
## te(SalSurf_s,doy_s) 15.2236     19 83.35 <0.0000000000000002 ***
## s(Year_fac)         14.9762     21  2.57 <0.0000000000000002 ***
## s(Station_fac)       0.1913      3  0.07               0.333    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.623   Deviance explained = 64.1%
## -REML = 1223.3  Scale est. = 2.2729    n = 644
## <<<<<<<<<<<<<<<<<<<<<<< modeling eurytem East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.001088538,0.0006122747]
## (score 2559.596 & scale 2.287368).
## Hessian positive definite, eigenvalue range [1.250392,678.6741].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 18.11     0.8 <0.0000000000000002 ***
## s(Year_fac)         22.00 16.65      NA                  NA    
## s(Station_fac)       8.00  4.94      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   3.0145     0.1317    22.9 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F              p-value    
## te(SalSurf_s,doy_s) 18.113     19 220.674 < 0.0000000000000002 ***
## s(Year_fac)         16.654     21   3.569 < 0.0000000000000002 ***
## s(Station_fac)       4.942      7   2.758             0.000775 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.647   Deviance explained = 65.7%
## -REML = 2559.6  Scale est. = 2.2874    n = 1358
## <<<<<<<<<<<<<<<<<<<<<<< modeling eurytem Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.0004815626,0.0002811514]
## (score 2648.62 & scale 2.42363).
## Hessian positive definite, eigenvalue range [1.350443,692.6672].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 16.81    0.76 <0.0000000000000002 ***
## s(Year_fac)         22.00 17.12      NA                  NA    
## s(Station_fac)      10.00  4.82      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   2.9910     0.1281   23.35 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F              p-value    
## te(SalSurf_s,doy_s) 16.809     19 155.451 < 0.0000000000000002 ***
## s(Year_fac)         17.120     21   4.653 < 0.0000000000000002 ***
## s(Station_fac)       4.822      9   1.865              0.00161 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.616   Deviance explained = 62.7%
## -REML = 2648.6  Scale est. = 2.4236    n = 1386
## <<<<<<<<<<<<<<<<<<<<<<< modeling eurytem Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.00004639069,0.00003734725]
## (score 2299.299 & scale 2.46211).
## Hessian positive definite, eigenvalue range [1.4517,600.1833].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 14.23    0.76 <0.0000000000000002 ***
## s(Year_fac)         22.00 17.62      NA                  NA    
## s(Station_fac)       8.00  4.62      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   4.2914     0.1951      22 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 14.228     19 200.360 <0.0000000000000002 ***
## s(Year_fac)         17.620     21   4.953 <0.0000000000000002 ***
## s(Station_fac)       4.624      7   8.852 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.667   Deviance explained = 67.7%
## -REML = 2299.3  Scale est. = 2.4621    n = 1201
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcalad SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.0002572946,0.00003618124]
## (score 1395.141 & scale 2.427992).
## Hessian positive definite, eigenvalue range [1.353422,364.2346].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value
## te(SalSurf_s,doy_s) 19.00 11.88    0.97     0.2
## s(Year_fac)         22.00 16.06      NA      NA
## s(Station_fac)       5.00  2.82      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.6079     0.3297   20.04 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 11.885     19 119.352 <0.0000000000000002 ***
## s(Year_fac)         16.065     21   3.751 <0.0000000000000002 ***
## s(Station_fac)       2.819      4  20.190 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.419   Deviance explained = 44.4%
## -REML = 1395.1  Scale est. = 2.428     n = 729
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcalad NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.00023865,0.0002978932]
## (score 1553.35 & scale 1.666666).
## Hessian positive definite, eigenvalue range [0.4215564,454.0713].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 14.58    0.95   0.015 *
## s(Year_fac)         22.00  3.95      NA      NA  
## s(Station_fac)       5.00  2.72      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.1735     0.1674   36.88 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 14.576     19 46.585 <0.0000000000000002 ***
## s(Year_fac)          3.949     21  0.239                0.19    
## s(Station_fac)       2.725      4 10.888 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =   0.43   Deviance explained = 44.4%
## -REML = 1553.4  Scale est. = 1.6667    n = 909
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcalad East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.0009563874,0.0007150144]
## (score 3142.34 & scale 1.861551).
## Hessian positive definite, eigenvalue range [2.176514,892.6252].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 14.05    0.92 <0.0000000000000002 ***
## s(Year_fac)         22.00 17.46      NA                  NA    
## s(Station_fac)      10.00  5.91      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.5775     0.1274   43.79 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 14.048     19 82.990 <0.0000000000000002 ***
## s(Year_fac)         17.460     21  4.973 <0.0000000000000002 ***
## s(Station_fac)       5.915      9  5.762 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.336   Deviance explained =   35%
## -REML = 3142.3  Scale est. = 1.8616    n = 1786
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcalad Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.00001214517,0.00001013587]
## (score 3021.299 & scale 2.280475).
## Hessian positive definite, eigenvalue range [1.987953,802.6803].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 15.96    0.86 <0.0000000000000002 ***
## s(Year_fac)         22.00 19.80      NA                  NA    
## s(Station_fac)      10.00  7.34      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)    4.797      0.240   19.99 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 15.964     19 529.79 <0.0000000000000002 ***
## s(Year_fac)         19.802     21  17.90 <0.0000000000000002 ***
## s(Station_fac)       7.343      9  12.34 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.592   Deviance explained = 60.3%
## -REML = 3021.3  Scale est. = 2.2805    n = 1606
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcalad Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 10 iterations.
## Gradient range [-0.00007678109,0.00006071923]
## (score 2565.727 & scale 2.013629).
## Hessian positive definite, eigenvalue range [1.863386,706.1796].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 16.23    0.89 <0.0000000000000002 ***
## s(Year_fac)         22.00 18.29      NA                  NA    
## s(Station_fac)       8.00  6.01      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.7579     0.2274   25.32 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 16.229     19 288.989 <0.0000000000000002 ***
## s(Year_fac)         18.293     21   7.878 <0.0000000000000002 ***
## s(Station_fac)       6.006      7  12.258 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.516   Deviance explained =   53%
## -REML = 2565.7  Scale est. = 2.0136    n = 1413
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcaljuv SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.0001800249,0.00006693502]
## (score 1147.796 & scale 1.167186).
## Hessian positive definite, eigenvalue range [1.123574,372.6134].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value
## te(SalSurf_s,doy_s) 19.00 12.52    0.99    0.34
## s(Year_fac)         22.00  8.82      NA      NA
## s(Station_fac)       5.00  3.45      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   7.0294     0.3791   18.54 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F   p-value    
## te(SalSurf_s,doy_s) 12.524     19 48.010   0.00179 ** 
## s(Year_fac)          8.820     21  0.724   0.02607 *  
## s(Station_fac)       3.453      4  6.305 0.0000311 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.287   Deviance explained = 31.1%
## -REML = 1147.8  Scale est. = 1.1672    n = 746
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcaljuv NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.00000878828,0.000005536103]
## (score 1336.127 & scale 0.9687309).
## Hessian positive definite, eigenvalue range [0.1437059,459.7211].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                         k'    edf k-index p-value
## te(SalSurf_s,doy_s) 19.000 13.599    0.97    0.17
## s(Year_fac)         22.000 17.429      NA      NA
## s(Station_fac)       5.000  0.934      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.4659     0.0891   72.57 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 13.599     19 43.539 <0.0000000000000002 ***
## s(Year_fac)         17.429     21  4.438 <0.0000000000000002 ***
## s(Station_fac)       0.934      4  0.383               0.194    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.339   Deviance explained = 36.2%
## -REML = 1336.1  Scale est. = 0.96873   n = 920
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcaljuv East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.001589764,0.001304635]
## (score 2751.792 & scale 1.009184).
## Hessian positive definite, eigenvalue range [2.190548,942.6308].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 16.76    0.84 <0.0000000000000002 ***
## s(Year_fac)         22.00 17.18      NA                  NA    
## s(Station_fac)      10.00  6.91      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.5613     0.1172   55.96 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 16.760     19 138.233 <0.0000000000000002 ***
## s(Year_fac)         17.183     21   5.222 <0.0000000000000002 ***
## s(Station_fac)       6.907      9   7.246 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.416   Deviance explained = 42.8%
## -REML = 2751.8  Scale est. = 1.0092    n = 1886
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcaljuv Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 10 iterations.
## Gradient range [-0.0003469366,0.0002964759]
## (score 2502.853 & scale 0.8104333).
## Hessian positive definite, eigenvalue range [2.667065,924.1429].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 16.52    0.77 <0.0000000000000002 ***
## s(Year_fac)         22.00 18.32      NA                  NA    
## s(Station_fac)      10.00  7.17      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.6926     0.1047   63.93 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 16.519     19 597.528 <0.0000000000000002 ***
## s(Year_fac)         18.319     21   7.584 <0.0000000000000002 ***
## s(Station_fac)       7.168      9  11.240 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.647   Deviance explained = 65.5%
## -REML = 2502.9  Scale est. = 0.81043   n = 1849
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcaljuv Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.0000129569,0.000009089829]
## (score 2172.174 & scale 0.9594607).
## Hessian positive definite, eigenvalue range [1.860385,753.6472].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 16.30    0.88 <0.0000000000000002 ***
## s(Year_fac)         22.00 16.25      NA                  NA    
## s(Station_fac)       8.00  6.55      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.7011     0.1916   34.98 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 16.305     19 92.370 <0.0000000000000002 ***
## s(Year_fac)         16.253     21  3.674 <0.0000000000000002 ***
## s(Station_fac)       6.547      7 44.101 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.391   Deviance explained = 40.7%
## -REML = 2172.2  Scale est. = 0.95946   n = 1508
## <<<<<<<<<<<<<<<<<<<<<<< modeling othclad SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.0000004305184,0.0000001698938]
## (score 967.7333 & scale 1.167392).
## Hessian positive definite, eigenvalue range [0.1565957,309.8204].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                         k'    edf k-index p-value
## te(SalSurf_s,doy_s) 19.000 11.754    0.96    0.14
## s(Year_fac)         22.000 17.840      NA      NA
## s(Station_fac)       5.000  0.755      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.1666     0.1255   9.298 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                         edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 11.7540     19 193.911 <0.0000000000000002 ***
## s(Year_fac)         17.8397     21   5.380 <0.0000000000000002 ***
## s(Station_fac)       0.7546      4   0.317               0.187    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.708   Deviance explained = 72.2%
## -REML = 967.73  Scale est. = 1.1674    n = 620
## <<<<<<<<<<<<<<<<<<<<<<< modeling othclad NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.0002939791,0.0002133163]
## (score 994.1594 & scale 1.129614).
## Hessian positive definite, eigenvalue range [0.0908998,320.8165].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                         k'    edf k-index p-value   
## te(SalSurf_s,doy_s) 19.000 12.983    0.87   0.005 **
## s(Year_fac)         22.000 17.631      NA      NA   
## s(Station_fac)       5.000  0.667      NA      NA   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.5283     0.1175   13.01 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                         edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 12.9833     19 285.282 <0.0000000000000002 ***
## s(Year_fac)         17.6306     21   5.067 <0.0000000000000002 ***
## s(Station_fac)       0.6673      4   0.244               0.233    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.762   Deviance explained = 77.4%
## -REML = 994.16  Scale est. = 1.1296    n = 642
## <<<<<<<<<<<<<<<<<<<<<<< modeling othclad East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.001230479,0.001020116]
## (score 2276.551 & scale 1.182822).
## Hessian positive definite, eigenvalue range [1.482809,732.6958].
## Model rank =  51 / 51 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 16.73    0.85 <0.0000000000000002 ***
## s(Year_fac)         22.00 19.81      NA                  NA    
## s(Station_fac)       9.00  5.08      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   2.0466     0.1454   14.07 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                       edf Ref.df        F              p-value    
## te(SalSurf_s,doy_s) 16.73     19 1268.214 < 0.0000000000000002 ***
## s(Year_fac)         19.81     21   17.853 < 0.0000000000000002 ***
## s(Station_fac)       5.08      8    3.036            0.0000935 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.764   Deviance explained = 77.1%
## -REML = 2276.6  Scale est. = 1.1828    n = 1466
## <<<<<<<<<<<<<<<<<<<<<<< modeling othclad Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 9 iterations.
## Gradient range [-0.000003926404,0.0000026836]
## (score 2716.839 & scale 1.357187).
## Hessian positive definite, eigenvalue range [1.776904,841.662].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 13.79    0.87 <0.0000000000000002 ***
## s(Year_fac)         22.00 19.72      NA                  NA    
## s(Station_fac)      10.00  7.24      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   2.9868     0.1718   17.39 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 13.792     19 1190.80 <0.0000000000000002 ***
## s(Year_fac)         19.719     21   17.03 <0.0000000000000002 ***
## s(Station_fac)       7.237      9   16.57 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.681   Deviance explained = 68.9%
## -REML = 2716.8  Scale est. = 1.3572    n = 1684
## <<<<<<<<<<<<<<<<<<<<<<< modeling othclad Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.00001218985,0.000004764209]
## (score 1976.119 & scale 1.332673).
## Hessian positive definite, eigenvalue range [1.673716,614.1956].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 12.98    0.95   0.025 *
## s(Year_fac)         22.00 19.04      NA      NA  
## s(Station_fac)       8.00  5.15      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.6001     0.1782   8.978 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 12.982     19 351.80 <0.0000000000000002 ***
## s(Year_fac)         19.037     21  10.60 <0.0000000000000002 ***
## s(Station_fac)       5.148      7  11.64 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.563   Deviance explained = 57.6%
## -REML = 1976.1  Scale est. = 1.3327    n = 1229
## <<<<<<<<<<<<<<<<<<<<<<< modeling pdiapfor SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.00004825721,0.00004025449]
## (score 1329.405 & scale 2.128419).
## Hessian positive definite, eigenvalue range [0.4176268,357.7591].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value
## te(SalSurf_s,doy_s) 19.00 11.67    0.98    0.27
## s(Year_fac)         22.00 16.78      NA      NA
## s(Station_fac)       5.00  3.25      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value        Pr(>|t|)    
## (Intercept)   2.9977     0.4329   6.925 0.0000000000101 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 11.675     19 565.130 <0.0000000000000002 ***
## s(Year_fac)         16.777     21   3.951 <0.0000000000000002 ***
## s(Station_fac)       3.248      4   3.168              0.0142 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.574   Deviance explained = 59.3%
## -REML = 1329.4  Scale est. = 2.1284    n = 716
## <<<<<<<<<<<<<<<<<<<<<<< modeling pdiapfor NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.0005703755,0.0005119504]
## (score 1551.318 & scale 1.782146).
## Hessian positive definite, eigenvalue range [0.0001149825,441.2327].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                            k'       edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.000000 11.587726    0.91 <0.0000000000000002 ***
## s(Year_fac)         22.000000 17.888654      NA                  NA    
## s(Station_fac)       5.000000  0.000238      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   3.1835     0.1251   25.44 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                            edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 11.5877262     19 138.581 <0.0000000000000002 ***
## s(Year_fac)         17.8886541     21   5.524 <0.0000000000000002 ***
## s(Station_fac)       0.0002376      4   0.000               0.991    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.616   Deviance explained = 62.9%
## -REML = 1551.3  Scale est. = 1.7821    n = 883
## <<<<<<<<<<<<<<<<<<<<<<< modeling pdiapfor East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.000007808436,0.000007572253]
## (score 3382.853 & scale 2.089356).
## Hessian positive definite, eigenvalue range [1.574259,927.6431].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 13.71    0.78 <0.0000000000000002 ***
## s(Year_fac)         22.00 19.36      NA                  NA    
## s(Station_fac)      10.00  6.81      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   4.1252     0.1913   21.56 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 13.707     19 794.558 <0.0000000000000002 ***
## s(Year_fac)         19.358     21  12.110 <0.0000000000000002 ***
## s(Station_fac)       6.813      9   9.976 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.671   Deviance explained = 67.8%
## -REML = 3382.9  Scale est. = 2.0894    n = 1856
## <<<<<<<<<<<<<<<<<<<<<<< modeling pdiapfor Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 14 iterations.
## Gradient range [-0.00004904667,0.00004633664]
## (score 3393.956 & scale 2.158042).
## Hessian positive definite, eigenvalue range [1.465866,922.6403].
## Model rank =  52 / 52 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 13.29    0.65 <0.0000000000000002 ***
## s(Year_fac)         22.00 19.38      NA                  NA    
## s(Station_fac)      10.00  6.41      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.8498     0.1636   35.75 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 13.295     19 447.711 <0.0000000000000002 ***
## s(Year_fac)         19.383     21  12.192 <0.0000000000000002 ***
## s(Station_fac)       6.414      9   5.442 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.708   Deviance explained = 71.4%
## -REML =   3394  Scale est. = 2.158     n = 1846
## <<<<<<<<<<<<<<<<<<<<<<< modeling pdiapfor Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 9 iterations.
## Gradient range [-0.000005779316,0.000003814254]
## (score 2668.644 & scale 1.842018).
## Hessian positive definite, eigenvalue range [0.911504,751.1911].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 15.06    0.88 <0.0000000000000002 ***
## s(Year_fac)         22.00 20.07      NA                  NA    
## s(Station_fac)       8.00  6.28      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.0426     0.2696    18.7 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s) 15.055     19 1729.08 <0.0000000000000002 ***
## s(Year_fac)         20.075     21   20.70 <0.0000000000000002 ***
## s(Station_fac)       6.284      7   22.22 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.698   Deviance explained = 70.6%
## -REML = 2668.6  Scale est. = 1.842     n = 1503
## <<<<<<<<<<<<<<<<<<<<<<< modeling allcopnaup SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.0002316378,0.0000446853]
## (score 490.1907 & scale 2.11028).
## Hessian positive definite, eigenvalue range [0.0002315783,131.3032].
## Model rank =  45 / 45 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                            k'       edf k-index p-value
## te(SalSurf_s,doy_s) 19.000000  8.356993    1.18       1
## s(Year_fac)         22.000000 10.999810      NA      NA
## s(Station_fac)       3.000000  0.000553      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value           Pr(>|t|)    
## (Intercept)   1.0562     0.1331   7.934 0.0000000000000779 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                            edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s)  8.3569934     19 10.463 < 0.0000000000000002 ***
## s(Year_fac)         10.9998104     21  1.139              0.00247 ** 
## s(Station_fac)       0.0005527      2  0.000              0.82852    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.407   Deviance explained = 45.1%
## -REML = 490.19  Scale est. = 2.1103    n = 263
## <<<<<<<<<<<<<<<<<<<<<<< modeling allcopnaup NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.00001794221,-0.0000000669358]
## (score 507.6329 & scale 2.490058).
## Hessian positive definite, eigenvalue range [1.264975,128.07].
## Model rank =  42 / 42 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                       k'  edf k-index p-value
## te(SalSurf_s,doy_s) 19.0 10.1    0.94    0.13
## s(Year_fac)         22.0 15.2      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value           Pr(>|t|)    
## (Intercept)   1.5354     0.1931   7.953 0.0000000000000823 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                       edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 10.06     19 11.117 < 0.0000000000000002 ***
## s(Year_fac)         15.19     21  2.518           0.00000145 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.473   Deviance explained = 52.5%
## -REML = 507.63  Scale est. = 2.4901    n = 256
## <<<<<<<<<<<<<<<<<<<<<<< modeling allcopnaup East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.0001218762,0.00008344278]
## (score 1042.414 & scale 2.054096).
## Hessian positive definite, eigenvalue range [0.09903565,280.8695].
## Model rank =  46 / 46 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value   
## te(SalSurf_s,doy_s) 19.00 13.02    0.91   0.005 **
## s(Year_fac)         22.00 17.86      NA      NA   
## s(Station_fac)       4.00  1.18      NA      NA   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.6774     0.1862   9.007 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 13.019     19 54.163 <0.0000000000000002 ***
## s(Year_fac)         17.865     21  5.753 <0.0000000000000002 ***
## s(Station_fac)       1.184      3  0.703                0.17    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.568   Deviance explained = 59.3%
## -REML = 1042.4  Scale est. = 2.0541    n = 562
## <<<<<<<<<<<<<<<<<<<<<<< modeling allcopnaup Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 9 iterations.
## Gradient range [-0.0001343447,0.0004613183]
## (score 1119.608 & scale 2.256841).
## Hessian positive definite, eigenvalue range [0.004593776,295.8296].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 11.00    0.88 <0.0000000000000002 ***
## s(Year_fac)         22.00 17.92      NA                  NA    
## s(Station_fac)       5.00  0.11      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   1.7815     0.1673   10.65 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                         edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 10.9992     19 28.645 <0.0000000000000002 ***
## s(Year_fac)         17.9198     21  5.794 <0.0000000000000002 ***
## s(Station_fac)       0.1102      4  0.030               0.316    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.507   Deviance explained = 53.1%
## -REML = 1119.6  Scale est. = 2.2568    n = 592
## <<<<<<<<<<<<<<<<<<<<<<< modeling allcopnaup Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 9 iterations.
## Gradient range [-0.0004640216,0.0002288728]
## (score 1075.687 & scale 3.377358).
## Hessian positive definite, eigenvalue range [0.0004636947,255.4016].
## Model rank =  44 / 44 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                           k'      edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00000 10.15265    0.91 <0.0000000000000002 ***
## s(Year_fac)         22.00000 18.59485      NA                  NA    
## s(Station_fac)       2.00000  0.00139      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value         Pr(>|t|)    
## (Intercept)    1.758      0.248   7.089 0.00000000000485 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                           edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 10.152654     19 19.979 <0.0000000000000002 ***
## s(Year_fac)         18.594852     21  7.474 <0.0000000000000002 ***
## s(Station_fac)       0.001387      1  0.000               0.564    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.461   Deviance explained = 49.1%
## -REML = 1075.7  Scale est. = 3.3774    n = 511
## <<<<<<<<<<<<<<<<<<<<<<< modeling limno SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.00002968649,0.000001232434]
## (score 541.6089 & scale 2.906776).
## Hessian positive definite, eigenvalue range [0.00002968475,133.3596].
## Model rank =  45 / 45 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                             k'        edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.0000000  7.6826839    0.82 <0.0000000000000002 ***
## s(Year_fac)         22.0000000 12.5507129      NA                  NA    
## s(Station_fac)       3.0000000  0.0000932      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.5984     0.1683   33.27 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                            edf Ref.df     F              p-value    
## te(SalSurf_s,doy_s)  7.6826840     19 7.485 < 0.0000000000000002 ***
## s(Year_fac)         12.5507129     21 1.490             0.000415 ***
## s(Station_fac)       0.0000932      2 0.000             0.659652    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.377   Deviance explained = 42.4%
## -REML = 541.61  Scale est. = 2.9068    n = 267
## <<<<<<<<<<<<<<<<<<<<<<< modeling limno NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.00000006008574,0.00000002717295]
## (score 487.0066 & scale 1.987343).
## Hessian positive definite, eigenvalue range [1.359051,129.5024].
## Model rank =  42 / 42 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                       k'  edf k-index p-value
## te(SalSurf_s,doy_s) 19.0 12.5    0.98    0.33
## s(Year_fac)         22.0 13.2      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.7549     0.1482   45.58 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                       edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 12.45     19 32.296 < 0.0000000000000002 ***
## s(Year_fac)         13.24     21  1.733             0.000104 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.678   Deviance explained =   71%
## -REML = 487.01  Scale est. = 1.9873    n = 259
## <<<<<<<<<<<<<<<<<<<<<<< modeling limno East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.0006348199,0.00005786304]
## (score 983.6937 & scale 1.643726).
## Hessian positive definite, eigenvalue range [0.9312309,280.8422].
## Model rank =  46 / 46 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 14.57    0.92   0.025 *
## s(Year_fac)         22.00 16.10      NA      NA  
## s(Station_fac)       4.00  2.36      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   7.0491     0.2286   30.84 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 14.575     19 86.759 < 0.0000000000000002 ***
## s(Year_fac)         16.102     21  3.373 < 0.0000000000000002 ***
## s(Station_fac)       2.359      3  6.766             0.000057 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =   0.68   Deviance explained = 69.9%
## -REML = 983.69  Scale est. = 1.6437    n = 562
## <<<<<<<<<<<<<<<<<<<<<<< modeling limno Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.0000004258262,0.0000002164561]
## (score 1093.584 & scale 1.914378).
## Hessian positive definite, eigenvalue range [1.122978,298.8587].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                       k'  edf k-index p-value
## te(SalSurf_s,doy_s) 19.0 15.0    0.99    0.42
## s(Year_fac)         22.0 17.3      NA      NA
## s(Station_fac)       5.0  2.5      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.7636     0.2298   25.08 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F              p-value    
## te(SalSurf_s,doy_s) 15.037     19 165.385 < 0.0000000000000002 ***
## s(Year_fac)         17.264     21   4.884 < 0.0000000000000002 ***
## s(Station_fac)       2.501      4   6.590           0.00000457 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.764   Deviance explained = 77.8%
## -REML = 1093.6  Scale est. = 1.9144    n = 598
## <<<<<<<<<<<<<<<<<<<<<<< modeling limno Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.000001166027,0.00000108107]
## (score 950.2686 & scale 2.026855).
## Hessian positive definite, eigenvalue range [0.4761543,257.7166].
## Model rank =  44 / 44 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                         k'    edf k-index p-value
## te(SalSurf_s,doy_s) 19.000 14.382    0.95     0.1
## s(Year_fac)         22.000 10.732      NA      NA
## s(Station_fac)       2.000  0.977      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.3167     0.4243   14.89 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 14.382     19 88.647 < 0.0000000000000002 ***
## s(Year_fac)         10.732     21  1.062              0.00346 ** 
## s(Station_fac)       0.977      1 42.760 < 0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.731   Deviance explained = 74.5%
## -REML = 950.27  Scale est. = 2.0269    n = 516
## <<<<<<<<<<<<<<<<<<<<<<< modeling mysid SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.0001933873,0.0002357424]
## (score 665.2795 & scale 4.357742).
## Hessian positive definite, eigenvalue range [0.0001933676,147.5153].
## Model rank =  45 / 45 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                            k'       edf k-index p-value
## te(SalSurf_s,doy_s) 19.000000  9.186330    1.07    0.88
## s(Year_fac)         21.000000 15.828315      NA      NA
## s(Station_fac)       4.000000  0.000859      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   4.3108     0.2774   15.54 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                            edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s)  9.1863304     19 22.208 <0.0000000000000002 ***
## s(Year_fac)         15.8283147     20  3.675 <0.0000000000000002 ***
## s(Station_fac)       0.0008593      3  0.000               0.529    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.551   Deviance explained = 58.9%
## -REML = 665.28  Scale est. = 4.3577    n = 295
## <<<<<<<<<<<<<<<<<<<<<<< modeling mysid NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.00000100028,0.0000008014995]
## (score 770.0372 & scale 3.602841).
## Hessian positive definite, eigenvalue range [0.2758678,179.3654].
## Model rank =  45 / 45 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value   
## te(SalSurf_s,doy_s) 19.00  6.97    0.91    0.01 **
## s(Year_fac)         21.00 14.86      NA      NA   
## s(Station_fac)       4.00  2.95      NA      NA   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)    4.564      1.141   3.999 0.0000784 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df       F             p-value    
## te(SalSurf_s,doy_s)  6.975     19  11.653              0.0112 *  
## s(Year_fac)         14.859     20   3.022 <0.0000000000000002 ***
## s(Station_fac)       2.948      3 107.229 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.513   Deviance explained = 54.6%
## -REML = 770.04  Scale est. = 3.6028    n = 359
## <<<<<<<<<<<<<<<<<<<<<<< modeling mysid East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.0005481093,0.0003275533]
## (score 1536.824 & scale 3.595509).
## Hessian positive definite, eigenvalue range [1.582611,359.7981].
## Model rank =  51 / 51 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 13.95    0.91 <0.0000000000000002 ***
## s(Year_fac)         21.00 16.13      NA                  NA    
## s(Station_fac)      10.00  8.03      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.4520     0.4788   11.39 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 13.953     19 49.964 <0.0000000000000002 ***
## s(Year_fac)         16.131     20  5.252 <0.0000000000000002 ***
## s(Station_fac)       8.026      9 14.599 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.511   Deviance explained = 53.7%
## -REML = 1536.8  Scale est. = 3.5955    n = 720
## <<<<<<<<<<<<<<<<<<<<<<< modeling mysid Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.0001386216,0.00007855902]
## (score 1432.811 & scale 3.158215).
## Hessian positive definite, eigenvalue range [2.015633,345.3202].
## Model rank =  50 / 50 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 14.80    0.94    0.03 *
## s(Year_fac)         21.00 16.84      NA      NA  
## s(Station_fac)       9.00  6.15      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   4.4107     0.3315    13.3 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 14.803     19 66.430 <0.0000000000000002 ***
## s(Year_fac)         16.837     20  5.458 <0.0000000000000002 ***
## s(Station_fac)       6.154      8  9.483 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.553   Deviance explained = 57.8%
## -REML = 1432.8  Scale est. = 3.1582    n = 691
## <<<<<<<<<<<<<<<<<<<<<<< modeling mysid Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.00000009163887,0.00000006254805]
## (score 1240.961 & scale 3.302209).
## Hessian positive definite, eigenvalue range [1.772933,293.8917].
## Model rank =  48 / 48 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value  
## te(SalSurf_s,doy_s) 19.00 14.46    0.93   0.015 *
## s(Year_fac)         21.00 17.82      NA      NA  
## s(Station_fac)       7.00  5.37      NA      NA  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.4655     0.6154   8.881 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df     F             p-value    
## te(SalSurf_s,doy_s) 14.456     19 46.69 <0.0000000000000002 ***
## s(Year_fac)         17.818     20  7.94 <0.0000000000000002 ***
## s(Station_fac)       5.366      6 15.32 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.467   Deviance explained = 50.1%
## -REML =   1241  Scale est. = 3.3022    n = 588
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcyc SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.00007556176,0.00009483017]
## (score 509.2612 & scale 2.433443).
## Hessian positive definite, eigenvalue range [0.4394374,133.0907].
## Model rank =  45 / 45 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value
## te(SalSurf_s,doy_s) 19.00  5.83    1.01    0.47
## s(Year_fac)         22.00  5.38      NA      NA
## s(Station_fac)       3.00  1.42      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   8.1753     0.6861   11.92 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                       edf Ref.df     F   p-value    
## te(SalSurf_s,doy_s) 5.834     19 2.595 0.0000139 ***
## s(Year_fac)         5.380     21 0.341    0.1533    
## s(Station_fac)      1.425      2 2.575    0.0286 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =   0.18   Deviance explained = 21.9%
## -REML = 509.26  Scale est. = 2.4334    n = 267
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcyc NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 5 iterations.
## Gradient range [-0.00000211291,0.0000001664891]
## (score 439.2156 & scale 1.385914).
## Hessian positive definite, eigenvalue range [0.9753164,129.5308].
## Model rank =  42 / 42 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                       k'  edf k-index p-value
## te(SalSurf_s,doy_s) 19.0 11.5    0.95    0.24
## s(Year_fac)         22.0 14.1      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   9.8233     0.1317   74.61 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                       edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 11.54     19 18.611 < 0.0000000000000002 ***
## s(Year_fac)         14.13     21  2.091            0.0000126 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.563   Deviance explained = 60.6%
## -REML = 439.22  Scale est. = 1.3859    n = 259
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcyc East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.000007037802,0.000005540019]
## (score 734.259 & scale 0.6699743).
## Hessian positive definite, eigenvalue range [0.676424,280.8599].
## Model rank =  46 / 46 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 14.62    0.85 <0.0000000000000002 ***
## s(Year_fac)         22.00 16.56      NA                  NA    
## s(Station_fac)       4.00  2.13      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   9.4686     0.1291   73.33 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                       edf Ref.df       F              p-value    
## te(SalSurf_s,doy_s) 14.62     19 129.269 < 0.0000000000000002 ***
## s(Year_fac)         16.56     21   3.941 < 0.0000000000000002 ***
## s(Station_fac)       2.13      3   5.055             0.000401 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.729   Deviance explained = 74.5%
## -REML = 734.26  Scale est. = 0.66997   n = 562
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcyc Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 6 iterations.
## Gradient range [-0.00001953905,0.000009775127]
## (score 1065.213 & scale 1.828141).
## Hessian positive definite, eigenvalue range [0.5511101,298.7089].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value
## te(SalSurf_s,doy_s) 19.00 14.05       1    0.46
## s(Year_fac)         22.00 12.05      NA      NA
## s(Station_fac)       5.00  1.71      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   8.5017     0.1333   63.79 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 14.045     19 59.633 < 0.0000000000000002 ***
## s(Year_fac)         12.050     21  1.372             0.000549 ***
## s(Station_fac)       1.709      4  1.512             0.019549 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.616   Deviance explained = 63.4%
## -REML = 1065.2  Scale est. = 1.8281    n = 598
## <<<<<<<<<<<<<<<<<<<<<<< modeling othcyc Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.0000003281669,0.0000002622332]
## (score 807.4669 & scale 1.179061).
## Hessian positive definite, eigenvalue range [0.4788483,257.6963].
## Model rank =  44 / 44 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value
## te(SalSurf_s,doy_s) 19.00 13.62    0.94    0.14
## s(Year_fac)         22.00 10.31      NA      NA
## s(Station_fac)       2.00  0.98      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   9.5531     0.3452   27.68 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                         edf Ref.df      F              p-value    
## te(SalSurf_s,doy_s) 13.6227     19 43.807 < 0.0000000000000002 ***
## s(Year_fac)         10.3110     21  0.952              0.00749 ** 
## s(Station_fac)       0.9799      1 49.083 < 0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.592   Deviance explained = 61.2%
## -REML = 807.47  Scale est. = 1.1791    n = 516
## <<<<<<<<<<<<<<<<<<<<<<< modeling other SW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 7 iterations.
## Gradient range [-0.0001670581,0.0002365661]
## (score 534.6529 & scale 2.832547).
## Hessian positive definite, eigenvalue range [0.0001670419,131.5291].
## Model rank =  45 / 45 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                            k'       edf k-index p-value
## te(SalSurf_s,doy_s) 19.000000  8.317430    0.92     0.1
## s(Year_fac)         22.000000 15.272562      NA      NA
## s(Station_fac)       3.000000  0.000808      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.8523     0.2061   33.26 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                            edf Ref.df     F             p-value    
## te(SalSurf_s,doy_s)  8.3174305     19 3.025              0.0012 ** 
## s(Year_fac)         15.2725622     21 2.726 <0.0000000000000002 ***
## s(Station_fac)       0.0008082      2 0.000              0.5165    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.276   Deviance explained = 34.1%
## -REML = 534.65  Scale est. = 2.8325    n = 263
## <<<<<<<<<<<<<<<<<<<<<<< modeling other NW Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 8 iterations.
## Gradient range [-0.000002813325,0.000001070138]
## (score 563.051 & scale 4.169416).
## Hessian positive definite, eigenvalue range [0.3519045,127.8435].
## Model rank =  42 / 42 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index p-value
## te(SalSurf_s,doy_s) 19.00  6.18    0.95    0.15
## s(Year_fac)         22.00 12.32      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   6.0799     0.2012   30.22 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df     F    p-value    
## te(SalSurf_s,doy_s)  6.176     19 2.742 0.00000307 ***
## s(Year_fac)         12.323     21 1.435   0.000569 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.242   Deviance explained = 29.7%
## -REML = 563.05  Scale est. = 4.1694    n = 256
## <<<<<<<<<<<<<<<<<<<<<<< modeling other East Suisun >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 10 iterations.
## Gradient range [-0.0002368956,0.00006329163]
## (score 1181.35 & scale 3.458064).
## Hessian positive definite, eigenvalue range [0.3111446,280.782].
## Model rank =  46 / 46 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                        k'   edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00 12.83    0.85 <0.0000000000000002 ***
## s(Year_fac)         22.00 15.07      NA                  NA    
## s(Station_fac)       4.00  1.58      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.7462     0.2165   26.55 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                        edf Ref.df     F              p-value    
## te(SalSurf_s,doy_s) 12.828     19 9.760 < 0.0000000000000002 ***
## s(Year_fac)         15.065     21 2.427           0.00000146 ***
## s(Station_fac)       1.583      3 1.673               0.0361 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.277   Deviance explained = 31.5%
## -REML = 1181.4  Scale est. = 3.4581    n = 562
## <<<<<<<<<<<<<<<<<<<<<<< modeling other Confluence >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 9 iterations.
## Gradient range [-0.0007093988,0.00006341095]
## (score 1225.46 & scale 3.157403).
## Hessian positive definite, eigenvalue range [0.0007088225,295.8561].
## Model rank =  47 / 47 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                           k'      edf k-index             p-value    
## te(SalSurf_s,doy_s) 19.00000 13.75261    0.88 <0.0000000000000002 ***
## s(Year_fac)         22.00000 17.83492      NA                  NA    
## s(Station_fac)       5.00000  0.00155      NA                  NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)    5.457      0.195   27.99 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                           edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 13.752606     19 15.942 <0.0000000000000002 ***
## s(Year_fac)         17.834917     21  4.874 <0.0000000000000002 ***
## s(Station_fac)       0.001545      4  0.000               0.957    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =  0.374   Deviance explained = 40.7%
## -REML = 1225.5  Scale est. = 3.1574    n = 592
## <<<<<<<<<<<<<<<<<<<<<<< modeling other Suisun Marsh >>>>>>>>>>>>>>>>>>>>>>>>>
## 
## -------------gam check-------------

## 
## Method: REML   Optimizer: outer newton
## full convergence after 9 iterations.
## Gradient range [-0.0001598758,0.0002345354]
## (score 1084.387 & scale 3.560059).
## Hessian positive definite, eigenvalue range [0.002762813,255.3373].
## Model rank =  44 / 44 
## 
## Basis dimension (k) checking results. Low p-value (k-index<1) may
## indicate that k is too low, especially if edf is close to k'.
## 
##                          k'     edf k-index p-value
## te(SalSurf_s,doy_s) 19.0000 11.9129    1.05    0.88
## s(Year_fac)         22.0000 16.3017      NA      NA
## s(Station_fac)       2.0000  0.0737      NA      NA
## 
## 
## -------------summary-------------
## 
## Family: gaussian 
## Link function: identity 
## 
## Formula:
## BPUE_log1p ~ te(SalSurf_s, doy_s, k = c(5, 5), bs = c("cs", "cc")) + 
##     s(Year_fac, bs = "re") + s(Station_fac, bs = "re")
## 
## Parametric coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)   5.7214     0.1834   31.19 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Approximate significance of smooth terms:
##                          edf Ref.df      F             p-value    
## te(SalSurf_s,doy_s) 11.91288     19 11.749 <0.0000000000000002 ***
## s(Year_fac)         16.30174     21  3.443 <0.0000000000000002 ***
## s(Station_fac)       0.07371      1  0.079               0.299    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## R-sq.(adj) =   0.36   Deviance explained = 39.6%
## -REML = 1084.4  Scale est. = 3.5601    n = 511

Extract salinity conversions

sal_conversions<-map_dfr(sal_models, ~.x[["sal"]], .id = "IBMR_region")%>%
  mutate(IBMR=sapply(IBMR_region, function(x) str_split(x, " ", n=2)[[1]][1]),
         Region=factor(sapply(IBMR_region, function(x) str_split(x, " ", n=2)[[1]][2]), levels=c("Confluence", "Suisun Marsh", "East Suisun", "NW Suisun", "SW Suisun")),
         Month=as.integer(Month))

str(sal_conversions)
## tibble [91,584 × 8] (S3: tbl_df/tbl/data.frame)
##  $ IBMR_region: chr [1:91584] "acartela SW Suisun" "acartela SW Suisun" "acartela SW Suisun" "acartela SW Suisun" ...
##  $ Month      : int [1:91584] 1 1 1 1 1 1 1 1 1 1 ...
##  $ doy        : num [1:91584] 15 15 15 15 15 15 15 15 15 15 ...
##  $ SalSurf    : num [1:91584] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ...
##  $ fit        : num [1:91584] 4.7 4.72 4.73 4.75 4.77 ...
##  $ se         : num [1:91584] 1.05 1.04 1.03 1.02 1.01 ...
##  $ IBMR       : Named chr [1:91584] "acartela" "acartela" "acartela" "acartela" ...
##   ..- attr(*, "names")= chr [1:91584] "acartela SW Suisun" "acartela SW Suisun" "acartela SW Suisun" "acartela SW Suisun" ...
##  $ Region     : Factor w/ 5 levels "Confluence","Suisun Marsh",..: 5 5 5 5 5 5 5 5 5 5 ...
##   ..- attr(*, "names")= chr [1:91584] "acartela SW Suisun" "acartela SW Suisun" "acartela SW Suisun" "acartela SW Suisun" ...

plot salinity conversions

ggplot(sal_conversions, aes(x=SalSurf, y=fit, ymin=fit-se, ymax=fit+se, fill=IBMR))+
  geom_ribbon(alpha=0.4)+
  ylab("fit (log scale)")+
  facet_grid(Region~Month)+
  scale_fill_viridis_d()+
  theme_bw()

Apply model

Load in SMSCG modeled salinity

modeled_sal<-read_csv("Data/CSAMP_DS_SDM_salinity_scenarios.csv",
                    col_types = cols_only(region="c", year="i", month="i", 
                                           sal_base="d", sal_fallX2_hi="d", sal_fallX2_low="d", 
                                           sal_sumX2_hi="d", sal_sumX2_low ="d", sal_SMSCG="d"))%>%
  mutate(across(starts_with("sal_"), ~if_else(is.na(.x), sal_base, .x)))%>%
  filter(region%in%unique(zoop_data_mass$SUBREGION))%>%
  mutate(region=factor(region, levels=c("Confluence", "Suisun Marsh", "NE Suisun", "SE Suisun", "NW Suisun", "SW Suisun")))%>%
  pivot_longer(cols=starts_with("sal_"), names_to="Scenario", values_to="Salinity")%>% # Prepare data for easier plotting
         mutate(Scenario=factor(Scenario, 
                                levels=c("sal_base","sal_fallX2_hi","sal_fallX2_low","sal_sumX2_hi","sal_sumX2_low","sal_SMSCG")))%>%
  mutate(Salinity=round(Salinity, 1))

Plot SMSCG modeled salinity

ggplot(modeled_sal, 
       aes(x=year, y=Salinity, color=Scenario))+
  geom_line()+
  scale_color_viridis_d()+
  facet_grid(region ~ month(month, label=T))+
  theme_bw()+
  theme(legend.position = "bottom", axis.text.x=element_text(angle=45, hjust=1))

salinity conversion function

zoop_saladjusted<-modeled_sal%>%
  mutate(Salinity=as.character(Salinity),
         IBMR=unique(model_factors$IBMR)[1])%>%
  complete(region, year, month, Scenario, IBMR=unique(model_factors$IBMR))%>%
  group_by(region, year, month, Scenario)%>%
  mutate(Salinity=na.exclude(Salinity),
         region2=if_else(region%in%c("NE Suisun", "SE Suisun"), "East Suisun", as.character(region)))%>%
  left_join(sal_conversions%>%
              select(Region, Month, IBMR, SalSurf, fit)%>%
              mutate(SalSurf=as.character(SalSurf)),
            by=c("region2"="Region",
                 "month"="Month",
                 "Salinity"="SalSurf",
                 "IBMR"="IBMR"))%>%
  select(-Salinity, -region2)%>%
  mutate(fit=exp(fit)-1)%>%
  pivot_wider(names_from="Scenario", values_from="fit")%>%
  mutate(across(starts_with("sal_"), ~(.x-sal_base)/sal_base))

Plot the missing model results resulting from out-of-range salinity values in the inputs

ggplot(zoop_saladjusted%>%
         filter(IBMR=="acartela")%>%
         pivot_longer(cols=starts_with("sal_"), names_to="Scenario", values_to="zoop_change"),
       aes(x=year, y=Scenario, fill=is.na(zoop_change)))+
  geom_tile()+
  scale_fill_viridis_d(name="Are the model results missing due to out-of-range salinity values?")+
  facet_grid(region ~ month(month, label=T))+
  theme_bw()+
  theme(legend.position = "bottom", axis.text.x=element_text(angle=45, hjust=1))

Plot the result

Create some plotting functions

neglop1p<-trans_new("neglop1p", transform=function(x) sign(x)*log(abs(x)+1), inverse=function(x) sign(x)*(exp(abs(x))-1))
plot_scenario_result <- function(scenario) {
ggplot(zoop_saladjusted,
       aes(x=year, y=.data[[scenario]], color=IBMR))+
  geom_point()+
  scale_color_viridis_d()+
  scale_y_continuous(trans=neglop1p, breaks=c(-1000, -100, -10, -1, 0, 1, 10, 100, 1000))+
  ylab("Proportional change in zooplankton biomass (log scale)")+
  facet_grid(region ~ month(month, label=T))+
  theme_bw()+
  theme(legend.position = "bottom", axis.text.x=element_text(angle=45, hjust=1))
}
# Create plots for each Parameter
scenario_result_plots <- tibble(Scenario=unique(modeled_sal$Scenario)[-1])%>%
  mutate(plot=map(as.character(unique(modeled_sal$Scenario))[-1], plot_scenario_result))

Result plots

sal_fallX2_hi

## Warning: Removed 636 rows containing missing values (geom_point).

sal_fallX2_low

## Warning: Removed 108 rows containing missing values (geom_point).

sal_sumX2_hi

## Warning: Removed 132 rows containing missing values (geom_point).

sal_sumX2_low

## Warning: Removed 132 rows containing missing values (geom_point).

sal_SMSCG

## Warning: Removed 108 rows containing missing values (geom_point).